package com.cloudkinto.service.company.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * temu退货单创建请求
 *
 * @author long
 */
@Data
public class TemuReturnOrderCreateReq {

    @ApiModelProperty(value = "服务商 code", required = true)
    private String cwProviderCode;

    @ApiModelProperty(value = "服务商名称", required = true)
    private String cwProviderName;

    @ApiModelProperty(value = "对接仓仓库的货主 code", required = true)
    private String cwCustomCode;

    @ApiModelProperty(value = "对接仓仓库仓库的授权 key")
    private String cwAppKey;

    @ApiModelProperty(value = "对接仓仓库仓库的授权 token", required = true)
    private String cwAccessToken;

    @ApiModelProperty(value = "平台,默认 Temu", required = true)
    private String platform;

    @ApiModelProperty(value = "temu 的退货入库单号，存在同一个退货单号多次调用创建的情况，需保证幂等健", required = true)
    private String returnOrderNo;

    @ApiModelProperty(value = "认证仓的实际仓库代码，多个 CW 不同仓，或商家设置的默认退货地址关联的仓有多个时，该值为空")
    private String cwWarehouseCode;

    @ApiModelProperty(value = "买家退货运单物流 服务商名称", required = true)
    private String logisticsProviderName;

    @ApiModelProperty(value = "买家退货物流运单号", required = true)
    private String waybillSn;

    @ApiModelProperty(value = "辅助运单号，辅助仓库收包的单号")
    private List<String> auxiliaryWaybillSnList;


    @ApiModelProperty(value = "收件人（退货仓）地址", required = true)
    private ReturnRecipientAddress recipientAddress;

    @ApiModelProperty(value = "包裹信息")
    private ReturnPackageInfo packageInfo;

    @ApiModelProperty(value = "退货商品列表", required = true)
    private List<ReturnGoods> returnGoodsList;
}
